package com.base.cn.platform.os.service.manage.config;

import com.base.cn.platform.os.service.FeignAuthConfig;
import com.base.cn.platform.os.service.manage.BaseService;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 链接配置接口
 *
 * @author s.li
 * @create 2018-04-10-18:52
 */
@FeignClient(name = BaseService.appName,configuration = FeignAuthConfig.class)
public interface SysLinkConfigService extends BaseService {
    /**
     * 保存链接配置数据
     * @param sysLinkConfig 链接配置数据对象
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/saveSysLinkConfig")
    Map<String,Object> saveSysLinkConfig(@RequestBody Map<String, Object> sysLinkConfig);

    /**
     * 通过ID，查询链接数据对象
     * @param id 链接ID
     * @return SysLinkConfig
     */
    @RequestMapping(contextPath + "/findSysLinkConfigById")
    Map<String,Object> findSysLinkConfigById(@RequestParam("id") BigDecimal id);

    /**
     * 查询链接配置数据列表
     * @param sysLinkConfig 查询条件
     * @return List<SysLinkConfig>
     */
    @RequestMapping(contextPath + "/findSysLinkConfigList")
    List<Map<String,Object>> findSysLinkConfigList(@RequestBody Map<String, Object> sysLinkConfig);

    /**
     * 前台获取链接配置接口
     * @return Map<String,List<SysLinkConfig>>
     */
    @RequestMapping(contextPath + "/findWebLinkMapList")
    Map<String,List<Map<String,Object>>> findWebLinkMapList();

    /**
     * 修改链接配置状态
     * @param ids 链接配置ID串
     * @param status 状态，1正常，2禁用，3删除
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/updateSysLinkConfigStatus")
    Map<String,Object> updateSysLinkConfigStatus(@RequestParam("ids") String ids, @RequestParam("status") int status);
}
